package com.cmc.cloud.cmclink.doc.api.document.rep;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

import javax.validation.Valid;
import java.math.BigDecimal;
import java.util.List;


/**
 * @author 陈正
 * @date 2025/11/10
 */
@Schema(description = "管理后台 - 提单主信息创建 Request VO")
@Data
@EqualsAndHashCode()
@AllArgsConstructor
@NoArgsConstructor
@ToString()
@Valid
public class BlnoFobRespDto {

    @Schema(description = "船名代码")
    private String vesselCode;
    @Schema(description = "出口航次")
    private String voyage;
    @Schema(description = "航线代码")
    private String laneCode;
    @Schema(description = "港口")
    private String podPol;
    @Schema(description = "ETD ETA 时间")
    private String etdEta;
    @Schema(description = "主列表信息")
    private List<BaseInfo> infoList;
    @Schema(description = "海运费统计")
    private List<FreightTotal> freightTotalList;
    @Schema(description = "箱统计")
    private List<ContainerTotal> containerTotalList;
    @Schema(description = "危险品列表")
    private List<DangerousInfo> dangerousInfoList;

    @Data
    public static class BaseInfo {
        private String blNo;
        private String podPol;
        private String payment;
        private String volume;
        private String dg;
        private String ratePerCntr;
        private String party;
        private String remark;
    }

    @Data
    public static class FreightTotal {

        private String payment;

        private String cur;

        private String item;

        private BigDecimal amount;

    }

    @Data
    public static class ContainerTotal {
        private String size;
        private String type;
        private Integer qty;
    }

    @Data
    public static class DangerousInfo {
        private String podPol;
        private String blNo;
        private String container;
        private String dg;
    }


}
